From c6894cd6063851d70d1687d468cf67757939595d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 2 May 2013 09:29:35 -0400 Subject: [PATCH] Try this again When the hostnamed call is cancelled, we get a G_IO_ERROR_CANCELLED error back. Handle it properly. --- gtk/gtkplacessidebar.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c index 9b08485df0..310b6c7975 100644 --- a/gtk/gtkplacessidebar.c +++ b/gtk/gtkplacessidebar.c @@ -3568,11 +3568,14 @@ hostname_proxy_new_cb (GObject *source_object, { GtkPlacesSidebar *sidebar = user_data; GError *error = NULL; + GDBusProxy *proxy; - sidebar->hostnamed_proxy = g_dbus_proxy_new_for_bus_finish (res, &error); - g_clear_object (&sidebar->hostnamed_cancellable); + proxy = g_dbus_proxy_new_for_bus_finish (res, &error); + if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) + return; - g_object_unref (sidebar); + sidebar->hostnamed_proxy = proxy; + g_clear_object (&sidebar->hostnamed_cancellable); if (error != NULL) { g_debug ("Failed to create D-Bus proxy: %s", error->message); @@ -3833,7 +3836,7 @@ gtk_places_sidebar_init (GtkPlacesSidebar *sidebar) "org.freedesktop.hostname1", sidebar->hostnamed_cancellable, hostname_proxy_new_cb, - g_object_ref (sidebar)); + sidebar); sidebar->drop_state = DROP_STATE_NORMAL; sidebar->new_bookmark_index = -1; -- 2.30.2